package com.yuantu.judiciary.service;

import com.yuantu.judiciary.model.form.DiscountCodeForm;
import com.yuantu.judiciary.model.form.DiscountCodeStatusForm;
import com.yuantu.judiciary.model.form.InviteCodeForm;
import com.yuantu.judiciary.model.vo.*;
import org.springframework.data.domain.Pageable;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * 优惠码
 *
 * @author syw
 * @since 2023-08-18
 **/
public interface IDiscountCodeService {


    DiscountCodeCheckResultVO checkDiscountValid(DiscountCodeCheckVO discountCodeCheck);

    Long updateDiscountCodeInfo(DiscountCodeVO discountCode);

    Boolean removeDiscountCodeInfo(List<Long> discountCodeIds);

    PageVO<DiscountCodeInfoVO> queryDiscountCodeInfos(DiscountCodeForm form, Pageable pageable);

    Boolean changeDiscountCodeStatus(DiscountCodeStatusForm form);

    void uploadDiscountCodeInfos(MultipartFile file, HttpServletResponse response);

    void downloadExcelTemplate(HttpServletResponse response);

    List<DiscountCodeUseDetailVO> discountUseDetail(Long discountCodeId);

    void discountUseDetailExport(Long discountCodeId, HttpServletResponse response);

    void downloadDiscountListInfos(HttpServletResponse response);

}
